<HTML><HEAD><TITLE>impose_bounds(?Var, ++Lo, ++Hi)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">library(ic_kernel)</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>impose_bounds(?Var, ++Lo, ++Hi)</H1>
Update (if required) the bounds of Var.
<DL>
<DT><EM>Var</EM></DT>
<DD>Variable or number
</DD>
<DT><EM>Lo</EM></DT>
<DD>Lower bound
</DD>
<DT><EM>Hi</EM></DT>
<DD>Upper bound
</DD>
</DL>
<H2>Description</H2>
<P>
   Primitive for updating the upper and lower bounds of Var, also used as
   the set_bounds handler for the IC attribute.  As with impose_min/2 and
   impose_max/2, it is intended for use in implementing constraint
   propagators, and should not be called from ordinary user code (use $::/2
   or ::/2 instead).  Its semantics is essentially:
<PRE>
       impose_min(Var, Lo), impose_max(Var, Hi), wake.
</PRE>
   Please see the documentation for impose_min/2 and impose_max/2 for more
   details.</P>

<H2>See Also</H2>
<A HREF="../../lib/ic_kernel/impose_min-2.html">impose_min / 2</A>, <A HREF="../../lib/ic_kernel/impose_max-2.html">impose_max / 2</A>, <A HREF="../../lib/ic/SNN-2.html">ic : $:: / 2</A>, <A HREF="../../lib/ic/NN-2.html">ic : :: / 2</A>
</BODY></HTML>
